# 继承某个镜像，这里继承了自定义镜像，镜像里有一些公用的配置
FROM docker.io/ascdc/jdk8

# 定义变量
ENV SERVER_PORT 80

ENV CONTEXT_PATH /

# 将容器内的 /usr/local/jar 指定为匿名卷，如果不指定那么每次重启数据都会丢失
VOLUME /usr/local/jar

# 将宿主机当前目录下所有文件拷贝到容器内的 /usr/local/jar 目录下
COPY ./ /usr/local/jar

# 由于 FROM 了自定义的镜像，这句代码可以注释掉，作用是修改系统时区
# RUN echo "Asia/Shanghai" > /etc/timezone

# 切换容器内的目录，为了后面执行执行做铺垫
WORKDIR /usr/local/jar

# 指定容器内的端口，在创建容器时指定的容器内的端口必须和这里一致
EXPOSE ${SERVER_PORT}

# 项目中如需要图形验证码，需要安装字体配置库，这里注释的原因和时区配置一样
# RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig

# 启动容器时运行的指令，这里是直接运行 jar 文件
ENTRYPOINT java \
    -Dserver.port=${SERVER_PORT} \
    -Xmx50m -Xms50m \
    -Dserver.servlet.contextPath=${CONTEXT_PATH} \
    -jar ROOT.jar

